var express = require('express');
var router = express.Router();
var jwtUtil = require('../public/utils/jwt')
var usersController = require('../controller/users')
    //拦截器
    //登录拦截器
router.all('/*', function(req, res, next) {
    let arr = req.url.split('/'); // 解析用户请求的路径

    for (let i = 0, length = arr.length; i < length; i++) { // 去除 GET 请求路径上携带的参数
        arr[i] = arr[i].split('?')[0];
    }

    if (arr.length > 1 && arr[0] == '') { // 判断请求路径是否为根、登录、注册、登出，如果是不做拦截
        next();
    } else if (arr.length > 2 && (arr[1] == 'register' || arr[1] == 'login' || arr[1] == 'logout' || arr[1].indexOf('login') > 0)) {
        next();
    } else { // 登录拦截
        let jwt = new jwtUtil()
        let exp = jwt.tokenExp(req.headers['x-token'])
        let time = exp.substring(2, exp.length - 1)

        if (time > 0) {

            next();
        } else {
            // req.session.originalUrl = req.originalUrl ? req.originalUrl : null; // 记录用户原始请求路径
            req.flash('error', '请先登录');
            res.redirect('/user/login'); // 将用户重定向到登录页面
        }


    }

    // if (req.session.user) {
    //   next();
    // }else {
    //   var arr = req.url.split('/');// 解析用户请求的路径

    //   for (var i = 0, length = arr.length; i < length; i++) {// 去除 GET 请求路径上携带的参数
    //     arr[i] = arr[i].split('?')[0];
    //   }
    //   if (arr.length > 1 && arr[1] == '') {// 判断请求路径是否为根、登录、注册、登出，如果是不做拦截
    //     next();
    //   } else if (arr.length > 2 && arr[1] == 'user' && (arr[2] == 'register' || arr[2] == 'login' || arr[2] == 'logout' || arr[2].indexOf('login') > 0 )) {
    //     next();
    //   } else {  // 登录拦截
    //     req.session.originalUrl = req.originalUrl ? req.originalUrl : null;  // 记录用户原始请求路径
    //     req.flash('error', '请先登录');
    //     res.redirect('/user/login');  // 将用户重定向到登录页面
    //   }
    // }
});
/* GET users listing. */
router.get('/', function(req, res, next) {
    res.send('respond with a resource');
});
router.post('/login', usersController.login);
router.post('/logout', usersController.loginOut);
router.get('/getInfo', usersController.queryUserInfo);
router.post('/register', usersController.registerUser);
router.post('/getUserList', usersController.getUserList);
router.post('/updateMessage', usersController.updateUserMessage);
router.post('/updatePassword', usersController.updatePassword);
router.post('/editUserMessage', usersController.editUserMessage);
router.post('/delUser', usersController.delUser);
router.get('/getOperator', usersController.getOperator);
router.get('/getAllUser', usersController.getAllUser);


module.exports = router;